package com.hskn.hss.module.user.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hskn.hss.core.page.TableDataInfo;
import com.hskn.hss.entity.AjaxResult;
import com.hskn.hss.entity.TreeEntity;
import com.hskn.hss.exception.HssException;
import com.hskn.hss.module.dataBigscreen.vo.AbnormalTypeVo;
import com.hskn.hss.module.role.entity.SysRole;
import com.hskn.hss.module.user.entity.User;
import com.hskn.hss.module.user.entity.UserFull;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author haojiliang
 * @since 2020-11-16
 */
public interface IUserService extends IService<User> {

    JSONObject loginByPwd(JSONObject params) throws HssException;

    void modifyPwd(JSONObject params) throws HssException;

    void addUser(JSONObject params) throws HssException;

    JSONObject mList(JSONObject params) throws HssException;

    void mUpdate(JSONObject params) throws HssException;

    void listUpdate(User user) throws HssException;
    void mDel(JSONObject params) throws HssException;
    AjaxResult deletebatchbyid(User user) throws HssException;
    UserFull detail() throws HssException;

    User getUserDetail(String uid);

    List<SysRole> getSysRoleByUId(String uid);

    void processingIsAdminUser();

    List<TreeEntity> userTree() throws HssException;

    Map<String, User> getUserMap();

    TableDataInfo abnormalByUserId(JSONObject params);

    List<AbnormalTypeVo> abnormalTypeByUserId(JSONObject params) throws HssException;
}
